/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode() {}
 *     ListNode(int val) { this.val = val; }
 *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }
 */
class code1 {
    //
    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
        ListNode ret = new ListNode(0);
        ListNode cur = ret;
        ListNode cur1 = l1;
        ListNode cur2 = l2;
        int t = 0;

        while(cur1!=null || cur2!=null|| t!=0) {
            if(cur1!=null) {
                t += cur1.val;
                cur1 = cur1.next;
            }
            if(cur2!=null) {
                t += cur2.val;
                cur2 = cur2.next;
            }
            ListNode tt = new ListNode(t%10);
            cur.next = tt;
            t /= 10;
            cur = cur.next;
        }
        return ret.next;
    }
}